package cn.iune.erp.invoice;

import java.util.List;
import com.alibaba.fastjson.JSONObject;

public interface IAccountInvoiceDetailService {

	int save(JSONObject object) throws Throwable;

	int confirm(String fID);

	int active(String fID);

	int confirm(AccountInvoiceDetail a);

	int active(AccountInvoiceDetail a);

	int confirmByMasterID(String fMasterID);

	int activeByMasterID(String fMasterID);

	int open(String fID);

	int close(String fID);

	int open(AccountInvoiceDetail a);

	int close(AccountInvoiceDetail a);

	int openByMasterID(String fMasterID);

	int closeByMasterID(String fMasterID);

	//审核通过，改变审核状态为confirm
	int agreeIt(String fID);

	//审核拒绝，改变审核状态为active
	int unAgree(String fID);

	//审核通过，改变审核状态为confirm
	int agreeIt(AccountInvoiceDetail a);

	//审核拒绝，改变审核状态为active
	int unAgree(AccountInvoiceDetail a);

	int agreeItByMasterID(String fMasterID);

	int unAgreeByMasterID(String fMasterID);

	int deleteByMasterID(String fMasterID);

//	AccountInvoiceDetail packing(AccountInvoice accountInvoice);

	void insert(AccountInvoiceDetail obj);

	void delete(String fID);

	void update(AccountInvoiceDetail obj);

	List<AccountInvoiceDetail> getByMasterID(String fMasterID);

	AccountInvoiceDetail packing(AccountInvoice accountInvoice);

	AccountInvoiceDetail getByID(String fID);

	int updateEvaluateQuantityRinse(String accountInvoiceNo, String serialNo, String enterpriseNo, String audit);

	List<AccountInvoiceDetail> getByOrigin(String origin, String originNo, String originSerialNo, String enterpriseNo);

}